package frsf.cidisi.exercise.idemiatp.situationCalculus;

import java.util.ArrayList;



public class Tesoro {

	int valor;
	float peso;
	int monedaDeOro,rubi,anillo,diamante,colgante;
	
	
	public Tesoro(int m, int r, int a, int d, int c) {
		this.monedaDeOro = m;
		this.rubi = r;
		this.anillo = a;
		this.diamante = d;
		this.colgante = c;
		calcularContenido();
	}

	public Tesoro() {
		this.valor = 0;
		this.peso = 0;
		this.monedaDeOro = 0;
		this.rubi = 0;
		this.anillo = 0;
		this.diamante = 0;
		this.colgante = 0;
	}
	
	public int getValor() {
		calcularContenido();
		return valor;
	}
	
	public void setValor(int valor) {
		this.valor = valor;
	}
	
	public float getPeso() {
		calcularContenido();
		return peso;
	}
	
	public void setPeso(float peso) {
		this.peso = peso;
	}
	
	public void calcularContenido(){
		
		this.peso = (float) ((monedaDeOro*0.1)+(rubi*0.02)+(anillo*0.045)+(diamante*0.07)+(colgante*0.02));
		this.valor = ((monedaDeOro*100)+(rubi*50)+(anillo*30)+(diamante*90)+(colgante*15));	
	}
	
	public void robarTesoro(){ /*Funcion para eliminar elementos del tesoro*/
		/*El pirata roba el 50% del contenido */

		this.monedaDeOro = monedaDeOro/2;  
		this.anillo = anillo/2;
		this.diamante = diamante/2;
		this.rubi = rubi/2;
		this.colgante = colgante/2;
		
		//peso = (float)((monedaDeOro*0.1)+(rubi*0.02)+(anillo*0.045)+(diamante*0.07)+(colgante*0.02));
		//valor = ((monedaDeOro*100)+(rubi*50)+(anillo*30)+(diamante*90)+(colgante*15));
		/*El valor del tesoro no se modifica asi el arqueologo no sabe si fue robado el tesoro, hasta que ejecute la camara*/
	}
	
	public int getMonedaDeOro() {
		return monedaDeOro;
	}

	public void setMonedaDeOro(int monedaDeOro) {
		this.monedaDeOro = monedaDeOro;
	}

	public int getRubi() {
		return rubi;
	}

	public void setRubi(int rubi) {
		this.rubi = rubi;
	}

	public int getAnillo() {
		return anillo;
	}

	public void setAnillo(int anillo) {
		this.anillo = anillo;
	}

	public int getDiamante() {
		return diamante;
	}

	public void setDiamante(int diamante) {
		this.diamante = diamante;
	}

	public int getColgante() {
		return colgante;
	}

	public void setColgante(int colgante) {
		this.colgante = colgante;
	}
	
	public void vaciarTesoro(){
		this.valor = 0;
		this.peso = 0;
		this.monedaDeOro = 0;
		this.rubi = 0;
		this.anillo = 0;
		this.diamante = 0;
		this.colgante = 0;
	}

	public Tesoro clone(){
		Tesoro nuevo = new Tesoro();
		nuevo.setAnillo(this.getAnillo());
		nuevo.setColgante(this.getColgante());
		nuevo.setDiamante(this.getDiamante());
		nuevo.setMonedaDeOro(this.getMonedaDeOro());
		nuevo.setPeso(this.getPeso());
		nuevo.setRubi(this.getRubi());
		nuevo.setValor(this.getValor());
		return nuevo;
	}
	public boolean equals(Object obj){
		Tesoro t = (Tesoro) obj;
		if(this.anillo == t.anillo &&
				this.colgante == t.colgante &&
				this.diamante == t.diamante &&
				this.monedaDeOro == t.monedaDeOro &&
				this.peso == t.peso &&
				this.valor == t.valor)
			return true;
		return false;
		
		
	}

}
